home *** CD-ROM | disk | FTP | other *** search
/ Aminet 7 / Aminet 7 - August 1995.iso / Aminet / misc / math / gpamiga_1_38_3.lha / examples / tutnf.gp < prev    next >
Encoding:
Text File  |  1993-12-03  |  1.7 KB  |  69 lines

  1. \e
  2. t=x^4+24*x^2+585*x+1791;nf=initalg(t);A=nf[1]
  3. \precision=18
  4. gc=galoisconj(A)
  5. \precision=28
  6. aut=gc[4]
  7. pd=primedec(nf,7)
  8. pr1=pd[1]
  9. hp=idealmul(nf,idmat(4),pr1)
  10. hp3=idealmul(nf,hp,idealmul(nf,hp,hp))
  11. \\ or hp3=idealpow(nf,hp,3)
  12. for(j=1,4,print(idealval(nf,hp3,pd[j])))
  13. hpi3=[hp3,[0.,0.]];hr1=ideallllred(nf,hpi3,0)
  14. hr=hr1;for(j=1,3,hr=ideallllred(nf,hr,[1,5]);print(hr))
  15. arch=hr[2]-hr1[2];l1=arch[1];l2=arch[2];
  16. s=real(l1+l2)/4;v1=[l1,l2,conj(l1),conj(l2)]~/2-[s,s,s,s]~
  17. m1=nf[5][1];m=matrix(4,4,j,k,if(j<=2,m1[j,k],conj(m1[j-2,k])));
  18. v=exp(v1);au=gauss(m,v)
  19. vu=round(real(au))
  20. u=mod(nf[7]*vu,A)
  21. norm(u)
  22. f1=factor(subst(char(u,x),x,x^2))
  23. f1=factor(subst(char(-u,x),x,x^2))
  24. v=sqrt(-v)
  25. au=gauss(m,v)
  26. v[1]=-v[1];v[3]=-v[3];au=gauss(m,v)
  27. vu2=round(real(au))
  28. u2=mod(nf[7]*vu2,A)
  29. q=polred2(f1[1,1])
  30. up2=modreverse(mod(q[3,1],f1[1,1]))
  31. mod(subst(lift(up2),x,aut),A)
  32. r=f1[1,1]%(x^2+u);-coeff(r,0)/coeff(r,1)
  33. al=mod(x^2-9,A)
  34. principalidele(nf,al)
  35. for(j=1,4,print(j,": ",idealval(nf,al,pd[j])))
  36. norm(al)
  37. pd14=idealmul(nf,pd[1],pd[4])
  38. idealmul(nf,al,idmat(4))
  39. setrand(1);v=buchgenfu(A,0.2,0.2)[,1]
  40. uf=mod(v[9][1],A)
  41. uu=mod(v[8][2],A)
  42. cu2=log(conjvec(u2));cuf=log(conjvec(uf));cuu=log(conjvec(uu));
  43. lindep(real([cu2[1],cuf[1],cuu[1]]))
  44. lindep([cu2[1],cuf[1],cuu[1],2*i*pi])
  45. u2/uf
  46. ru=nf[8]*vvector(4,j,coeff(v[8][2],j-1))
  47. nf[7]*ru
  48. setrand(1);bnf=buchinitfu(A,0.2,0.2);
  49. bnf[8]
  50. nf=bnf[7];
  51. hp4=idealpow(nf,hp,4)
  52. vis=isprincipal(bnf,hp4)
  53. alpha=mod(nf[7]*vis[2],A)
  54. norm(alpha)
  55. idealmul(nf,idmat(4),mat(vis[2]))
  56. vit=isprincipal(bnf,hp)
  57. pp=isprincipal(bnf,pd14)
  58. al2=mod(nf[7]*pp[2],A)
  59. u3=al2/al
  60. char(u3,x)
  61. me=concat(bnf[3],[2,2]~)
  62. cu3=principalidele(nf,u3)[2]
  63. xc=gauss(real(me),real(cu3))
  64. xd=cu3-me*xc
  65. xu=principalidele(nf,uu)[2]
  66. xd[1]/xu[1]
  67. isunit(bnf,u3)
  68. uu^3*uf
  69.